High availability (HA) is an important requirement for carrier grade services. The Service Availability Forum (SAF) developed a set of standard services for an HA enabling middleware. Among these services, the Availability Management Framework (AMF) is responsible for managing application/service availability, while the Software Management Framework (SMF) is in charge of orchestrating upgrade campaigns that perform changes on these applications.
An upgrade campaign is the process of migrating a system from its current configuration to a target configuration that, for example, deploys a new version of some software. In a Service Availability Forum (SAF) compliant environment, SMF orchestrates this migration by following a roadmap: an upgrade campaign specification, which describes the changes to be done and their ordering. An upgrade campaign specification describes the actions to initialize and to wrap up the campaign, and the upgrade procedures that compose the body of the campaign. Each procedure has an upgrade scope, an upgrade method, and the common attributes of the steps composing this procedure. Based on the upgrade scope, the upgrade method and the state of the current system configuration, at execution time, SMF decomposes each procedure into a number of upgrade steps. Each step has a sequence of actions, some of which are performed online while the service is being provided, while others are performed offline by taking a subset of the service providers out of service while upgrading them. The later may induce some service outage.
Several upgrade campaign specifications might be applicable to take a system from a source configuration to a target configuration. These upgrade campaign specifications have in common the set of changes they have to perform, but they vary in other aspects such as the number of procedures, the ordering of the procedures, or even the choice of the scope and upgrade method of each procedure. Therefore, some upgrade campaign specifications may induce more outage or may take longer time to execute than others.